package com.dingding.order.core.confirm.dao;

import java.util.List;

import com.dingding.common.core.base.dao.IBaseDao;
import com.dingding.common.core.beans.Userordert;
import com.dingding.order.dto.confirm.PushAutoConfirmArrival;
import com.dingding.order.dto.confirm.PushConfirmArrival;

/**
 * @Description: 确认到达dao
 * @author fengshuonan
 * @date 2016年6月6日 上午11:27:37
 */
public interface IConfirmArriveDao extends IBaseDao<Userordert> {

	/**
	 * @Description: 获取乘客订单
	 * @param passengerId
	 *            乘客id
	 * @author fengshuonan
	 * @return Userordert 合乘订单bean
	 */
	public Userordert getPassengerOrder(String passengerId);

	/**
	 * @Description:获取所有合乘订单
	 * @param oid
	 *            司机订单id
	 * @author fengshuonan
	 * @return List<Userordert> 所有合乘订单
	 */
	public List<Userordert> getAllCarShareOrder(String oid);

	/**
	 * @Description:添加表到正式表
	 * @param userordert 临时表
	 * @author fengshuonan
	 * @return boolean true 添加成功  false 添加失败
	 */
	public boolean addToUserorderTable(Userordert userordert);

	/**
	 * 
	 * @Title: deleteCurrentOrder 
	 * @Description: 移除订单
	 * @param userordert 订单信息
	 * @author YHQ 
	 * @return boolean true:成功  false:失败
	 * 
	 */
	public boolean deleteCurrentOrder(Userordert userordert);

	/**
	 * 
	 * @Title: getConfirmArrival 
	 * @param passengerId 乘客ID
	 * @param driverId  车主ID
	 * @author CHEHAUNBO
	 * 
	 */
	public PushConfirmArrival getConfirmArrival(String passengerId, String driverId);

	/**
	 * 
	 * @Title: getUserOrdertByOverTime
	 * @Description: 获取自动确认到达的订单列表
	 * @author yuHaiQing
	 * @return List<Userordert>    返回类型
	 * 
	 */
	public List<Userordert> getUserOrdertByOverTime();
	
	/**
	 * 
	 * @Title: getConfirmOrders
	 * @Description: 获取自动确认到达推送Bean
	 * @param passengerId 乘客Id
	 * @param driverId 司机Id
	 * @author yuHaiQing
	 * @return PushAutoConfirmArrival    返回类型
	 * 
	 */
	public PushAutoConfirmArrival getConfirmOrders(String passengerId,String driverId);
	
	/**
	 * 
	 * @Title: updateOrderInfo 
	 * @Description: 修改订单信息 
	 * @param userordert 待修改的订单信息
	 * @author YHQ 
	 * @return boolean    返回类型
	 * 
	 */
	public boolean updateOrderInfo(Userordert userordert); 
	
}
